//	-----------------------
//	Global scene parameters
//	-----------------------

shared cbuffer Scene {
	matrix View;
	matrix Projection;
	matrix ViewProjection;
	float Time;
};

//	-----------------------
//	Object parameters
//  -----------------------
shared cbuffer Object {
	matrix World;
	float RepeatingX;
	float RepeatingY;
	float4 Coloring;
};

shared Texture2D Tex2D_0;
shared Texture2D Tex2D_1;
shared Texture2D Tex2D_2;



//  XYZ - Position, Color
//  -----------------------
struct VS_IN_POSITION3_COLOR
{
	float4 Pos : POSITION;
	float4 Col : COLOR;
};

struct PS_IN_POSITION3_COLOR
{
	float4 Pos : SV_POSITION;
	float4 Col : COLOR;
};

//	-----------------------
//  XYZ - Position, UV - Texture
//  -----------------------
struct VS_IN_POSITION3_TEX
{
	float4 Pos : POSITION;
	float2 Tex : TEXCOORD;
};

struct PS_IN_POSITION3_TEX
{
	float4 Pos : SV_POSITION;
	float2 Tex : TEXCOORD;
};

//	-----------------------
//  XYZ - Position, UV - Texture
//  -----------------------
struct VS_IN_POSITION3_COLOR_TEX
{
	float4 Pos : POSITION;
	float4 Col : COLOR;
	float2 Tex : TEXCOORD;
};

struct PS_IN_POSITION3_COLOR_TEX
{
	float4 Pos : SV_POSITION;
	float4 Col : COLOR;
	float2 Tex : TEXCOORD;
};

